package com.lansi.blegatewayconfig.service;

import java.util.List;

import com.lansi.blegatewayconfig.bean.BleGatewayConfig;

public interface IBleGatewayConfigService {
	/**
	 * 蓝牙网关配置添加
	 * @param bleGateway
	 */
	void registerBleGatewayConfig(BleGatewayConfig bleGatewayConfig);
	/**
	 * 蓝牙网关配置多个删除
	 * @param ids
	 */
	void delBleGatewayConfig(Integer[] ids);	
	/**
	 * 蓝牙网关配置单个删除
	 * @param id
	 */
	void delBleGatewayConfigById(Integer id);
	/**
	 * 
	 * @param id
	 * @param deveui
	 * @param sn
	 * @param adr
	 * @param rfu
	 * @param dr
	 * @param mode
	 * @param smode
	 * @param power
	 * @param lostpoint
	 * @param selfadapt
	 * @param oneoff
	 * @param alreport
	 * @param gps
	 * @param hb
	 * @param crc16
	 */
	void updateBleGatewayConfig(
			 Integer id,
			 String  deveui,
			 String  sn,
			 Byte    adr,
			 Byte    rfu,
			 Byte    dr,
			 Byte    mode,
			 Byte    smode,
			 Byte    power,
			 Byte    lostpoint,
			 Byte    selfadapt,
			 Byte    oneoff,
			 Byte    alreport,
			 Short   gps,
			 Short   hb,
			 Short   crc16);
	/**
	 * 
	 * @param id
	 * @param deveui
	 * @param sn
	 * @param adr
	 * @param rfu
	 * @param dr
	 * @param mode
	 * @param smode
	 * @param power
	 * @param lostpoint
	 * @param selfadapt
	 * @param oneoff
	 * @param alreport
	 * @param gps
	 * @param hb
	 * @param crc16
	 */
	void updateAllBleGatewayConfig(
			
			 String  deveui,
			 String  sn,
			 Byte    adr,
			 Byte    rfu,
			 Byte    dr,
			 Byte    mode,
			 Byte    smode,
			 Byte    power,
			 Byte    lostpoint,
			 Byte    selfadapt,
			 Byte    oneoff,
			 Byte    alreport,
			 Short   gps,
			 Short   hb,
			 Short   crc16);
	/**
	 * 蓝牙网关配置查询
	 * @param deveui
	 * @param sn
	 * @param offset
	 * @param count
	 * @return
	 */
	List<BleGatewayConfig> getBleGatewayConfig(
						String  deveui,
						String  sn,
			
						Integer offset,
						Integer count);
	/**
	 * 根据id查询蓝牙网关配置
	 * @param id
	 * @return
	 */
	BleGatewayConfig getBleGatewayConfigById(Integer id);
	/**
	 * 根据设备号查询蓝牙网关配置
	 * @param id
	 * @return
	 */
	BleGatewayConfig getBleGatewayConfigByDeveui(String deveui);
	/**
	 * 根据公司编号查询蓝牙网关配置
	 * @param sn
	 * @return
	 */
	List<BleGatewayConfig> getBleGatewayConfigBySn(String sn);
	/**
	 * 蓝牙网关配置查询数量
	 * @param deveui
	 * @param sn
	 * @return
	 */
	Integer getBleGatewayConfigcount(
						String  deveui,
						String  sn
			);

}
